Object Template Abstractions for Light-Weight Data-Parallelism
نویسندگان
چکیده
Data-parallelism is a widely used model for parallel programming. Control structures like parallel DO loops, and data structures like collections have been used to express data-parallelism. In typical implementations, these constructs are ' at' in the sense that only one data-parallel operation is active at any time. To model applications that can exploit overlap of synchronization and computation in data-parallel tasks, or that have independent but limited data-parallelism, or that depict static or hierarchical nested parallelism, a more dynamic model is required. This paper describes how to combine light-weight thread mechanism with object-oriented methodologies to provide light-weight This research was funded in part by: ARPA DABT63-94-C-0029 and Rome Labs Contract AF 30602-92-C-0135
منابع مشابه
TACO-Exploiting Cluster Networks for High-Level Collective Operations
TACO (Topologies and Collections) is a template library that introduces the flavour of distributed data parallel processing by means of reusable topology classes and C++ templates. This paper introduces TACO’s basic abstractions and provides a performance analysis for basic collective operations on various cluster architectures with several different networks.
متن کاملAbstractions for Adaptive Data Parallelism
This paper describes how a class of data parallel programs (SPMD) may be expressed using reusable adaptive abstractions. The abstractions support adaptive use of a network of workstations for parallel computing. Although data parallelism is the paradigm considered the programs are expressed using message passing. The main contribution of this paper is to demonstrate how adaptive parallelism may...
متن کاملCoir: A Thread-Model for Supporting Task- and Data- Parallelism in Object-Oriented Parallel Languages
Dataand task-parallelism are two important parallel programming models. Object-oriented paradigm in parallelism provides a good way of abstracting out various aspects of computations and computing resources. Using an object-oriented language like C++, one can compose data and control representations into a single active object. We propose a thread model of parallelism that addresses both data a...
متن کاملProgramming Large Dynamic Data Structures on a DSM Cluster of Multicores∗
Applications in increasingly important domains such as data mining and graph analysis operate on very large, dynamically constructed graphs, i.e. they are composed of dynamically allocated objects linked together via pointers. Parallel algorithms on large graphs can greatly benefit from software Distributed Shared Memory’s (DSM) convenience of sharedmemory programming and computational scalabil...
متن کاملProgramming with Sociable Resources
We present a model for shared-memory parallel programming that makes shared objects (“resources”) the drivers of heap-manipulating parallel computations. The model aims to syntactically capture patterns of spatial locality in heap updates and to express the maximum amount of logical parallelism in computations. To achieve this, we take a “resources’-eye” view of parallel operations on the heap....
متن کامل